package com.town.garden.chain;

import com.town.garden.component.HeartbeatComponent;
import com.town.garden.component.ProcessAlarmEventForRedisComponent;
import com.town.garden.service.impl.*;

/**
 * @Description 服务启动nvr流程责任链抽象类
 * 构建流程 :
 * {@linkplain NvrLoginServiceImpl#handlerOperation()} 执行登录  ->
 * {@linkplain HeartbeatComponent#handlerOperation()} 执行心跳任务和nvr服务器保持心跳 ->
 * {@linkplain NvrSystemInfoServiceImpl#handlerOperation()} 执行定时查询系统详情问题（可以保证session失效）->
 * {@linkplain NvrIpcListInfoServiceImpl#handlerOperation()} 执行定时任务查询系统ipc详情列表 ->
 * {@linkplain ZLMediaKitServiceImpl#handlerOperation()} 注册所有摄像头rtsp流直播代理 ->
 * {@linkplain NvrAlarmEventServiceImpl#handlerOperation()} 执行定时任务查询告警事件信息 ->
 * {@linkplain ProcessAlarmEventForRedisComponent#handlerOperation()} 启动处理事件生成视频
 * @E-mail cwm3412638@163.com
 * @Author cwm
 * @Date 2022/5/13
 */
public abstract class AbstractServerStartHandler {
    /**
     * 下一个处理者
     */
    private AbstractServerStartHandler abstractServerStartHandler;

    /**
     * 处理操作
     */
    public abstract void handlerOperation();
}
